前兩天的說明算是補充基本概念,今天不囉唆直接開始建構遊戲雛型,會略過很多細節,專有名詞的部份會帶過不會很仔細解釋,詳細部份請再找其他寫得比筆者更專業的教學惡補,這邊主要是給一個開發的方向。今天的內容不算淺,會需要花些時間琢磨。
本篇內容主要參考自《設計模式與遊戲開發的完美結合》,紙本似乎賣完,可以考慮買電子書或二手。
中間的 PBaseDefenseGame 是使用者和遊戲系統的溝通介面
左邊的 IUserInterface 是使用者的中介者,負責轉送底下元件的需求
右邊的 IGameSystem 是伺服器的中介者,負責轉送底下子系統的需求
在這架構裡面會用到兩個模式,分別為 Facade 外觀
、 Mediator 中介者
。
Facade 模式的作用是替遊戲系統建立 API,讓使用者進行操作的時候不用跟系統內部的模組打交道。就像我們去銀行辦事只要找櫃台就好,後面的事情交由他們處理。
這模式的好處是適合分工,介面封裝保護系統內部的細節不會外漏,同時系統內的修改不用更改API,降低維護的複雜度。
Mediator 模式的作用是避免系統內的元件產生複雜的交互關係,透過一個中介者,統合內部所有的交互關係。這有點像是我們使用LINE跟伺服器傳訊息,伺服器幫我們把訊息傳給對方,這樣大家只要統一對伺服器收發訊息就可以了。
這模式的好處是元件之間的依賴會降低,相對地,中介者要處理的訊息一旦變多時,中介者的負擔會比較吃重。
接下來,試著實作簡單的雛型看看